const archiver = require('archiver');
const fs = require('fs');
const path = require('path');

// 构建后的目录路径
const buildDir = path.join(__dirname, 'dist');
// 压缩包输出路径
const outputPath = path.join(__dirname, 'dist.zip');

// 创建可写流以写入压缩包
const output = fs.createWriteStream(outputPath);
const archive = archiver('zip', {
    zlib: { level: 9 }
});

// 监听压缩完成事件
output.on('close', () => {
    console.log(archive.pointer() + ' 字节已被写入。');
    console.log('压缩完成，文件位于: ' + outputPath);
});

// 监听压缩过程中的错误事件
archive.on('error', (err) => {
    throw err;
});

// 将构建后的目录添加到压缩包
archive.directory(buildDir, false);

// 将压缩包内容通过管道写入输出流
archive.pipe(output);

// 完成压缩操作
archive.finalize();
